package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 财务记账对象 finance_accounts
 * 
 * @author ruoyi
 * @date 2025-02-19
 */
public class FinanceAccounts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 应收款ID */
    private Long receivableId;

    /** 流水号 */
    @Excel(name = "流水号")
    private String transactionNumber;

    /** 付款机构 */
    @Excel(name = "付款机构")
    private String payerInstitution;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private String paymentMethod;
    /** 记账类型 */
    @Excel(name = "记账类型")
    private String type;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal paymentAmount;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;

    /** 备注 */
    private String remarks;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setReceivableId(Long receivableId) 
    {
        this.receivableId = receivableId;
    }

    public Long getReceivableId() 
    {
        return receivableId;
    }
    public void setTransactionNumber(String transactionNumber) 
    {
        this.transactionNumber = transactionNumber;
    }

    public String getTransactionNumber() 
    {
        return transactionNumber;
    }
    public void setPayerInstitution(String payerInstitution) 
    {
        this.payerInstitution = payerInstitution;
    }

    public String getPayerInstitution() 
    {
        return payerInstitution;
    }
    public void setPaymentMethod(String paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod() 
    {
        return paymentMethod;
    }
    public void setPaymentAmount(BigDecimal paymentAmount) 
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount() 
    {
        return paymentAmount;
    }
    public void setPaymentTime(Date paymentTime) 
    {
        this.paymentTime = paymentTime;
    }

    public Date getPaymentTime() 
    {
        return paymentTime;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return "FinanceAccounts{" +
                "id=" + id +
                ", receivableId=" + receivableId +
                ", transactionNumber='" + transactionNumber + '\'' +
                ", payerInstitution='" + payerInstitution + '\'' +
                ", paymentMethod='" + paymentMethod + '\'' +
                ", type='" + type + '\'' +
                ", paymentAmount=" + paymentAmount +
                ", paymentTime=" + paymentTime +
                ", remarks='" + remarks + '\'' +
                '}';
    }
}
